A cryptographic system is a system for sending a message from a sender to a receiver over a medium so that the message is “secure”, that is, so that only the intended receiver can recover the message. A cryptographic system (or cryptosystem) converts a message, referred to as “plaintext” into an encrypted format, referred to as “ciphertext.” The encryption is accomplished by manipulating or transforming the message using a “cipher key” or keys. The receiver “decrypts” the message, that is, converts it from ciphertext to plaintext, by reversing the manipulation or transformation process using the cipher key or keys. So long as only the sender and receiver have knowledge of the cipher key, such an encrypted transmission is secure.
A “classical” cryptosystem is a cryptosystem in which the enciphering information can be used to determine the deciphering information. To provide security, a classical cryptosystem requires that the enciphering key be kept secret and provided to users of the system over secure channels. Secure channels, such as secret couriers, secure telephone transmission lines, or the like, are often impractical and expensive.
A system that eliminates the difficulties of exchanging a secure enciphering key is known as “public key encryption.” By definition, a public key cryptosystem has the property that someone who knows only how to encipher a message cannot use the enciphering key to find the deciphering key without a prohibitively lengthy computation. An enciphering function is chosen so that once an enciphering key is known, the enciphering function is relatively easy to compute. However, the inverse of the encrypting transformation function is difficult, or computationally infeasible, to compute. Such a function is referred to as a “one way function” or as a “trap door function.” In a public key cryptosystem, certain information relating to the keys is public. This information can be, and often is, published or transmitted in a non-secure manner. Also, certain information relating to the keys is private. This information may be distributed over a secure channel to protect its privacy (or may be created by a local user to ensure privacy).
Cryptography is generally acknowledged as the best method of data protection against passive and active fraud. Recent developments in the design of conventional encryption algorithms are disclosed in “A fully integrated chaotic system for the generation of truly random numbers”, IEEE Transactions on Circuits and Systems I: Fundamental Theory and Applications, Volume: 49 Issue: 7, Page(s): 993-1000, (2002). Three most common encryption objects are block-encryption algorithms (private-key algorithms or symmetric algorithms), pseudo-random number generators (additive stream ciphers) and public-key algorithms (asymmetric algorithms).
Block ciphers transform a relatively short string (typically 64, 128 or 256 bits) to a string of the same length under control of a secret key. Several block encryption ciphers based on chaotic maps have been proposed, in which a discretization (process that describes the way a chaotic map is implemented in the computer) is not realized by rounding the chaotic map according to the computer arithmetic, but rather is constructed explicitly. Cryptographic systems are proposed to be based on chaotic permutations constructed by explicitly discretizing the two dimensional bakers map. Then, the ideas are extended to chaotic permutations on any size of two dimensional lattices. The permutations benefit from the expanding property along one axis, technically avoiding the contracting property along the other axis. A discrete version of the skew-tent map is proposed to exploit important chaotic properties, such as the sensitive dependence on initial conditions and the exponential information decay. They difference between the discretized map and the original map is discussed for explaining the ergodic-like and chaotic-like properties of the discretized map.
A pseudo-random number generator is a deterministic method, usually described with a mapping, to produce from a small set of random numbers, called the seed, and a larger set of random-looking numbers called pseudo-random numbers. Chaotic systems may be used to generate pseudo-random numbers. For example, a chaos is proposed to be derived from pseudo-random number generator. It is numerically observed that the average cycle and transient lengths grow exponentially with the precision of implementation, and thus it is deduced that using high-precision arithmetic one can obtain PRNGs which are still of cryptographic interest. Statistical properties of binary sequences generated by class of ergodic maps with some symmetrical properties are discussed to derive a sufficient condition for this class of maps to produce a sequence if independent and identically distributed binary random variables. However, the authors did not discuss the implementation of these maps on finite-state machines and the consequence this implementation may have on the randomness of the generated sequences.
Certain applications in cryptography require the use of a truly random number generator (RNG), which is a device that outputs a sequence of statistically independent and unbiased numbers. It is widely accepted that the core of any RNG must be an intrinsically random physical process. Thus, it is no surprise that the proposals and implementations of RNGs range from tossing a coin, to measuring thermal noise from a resistor and shot noise from a Zener diode or a vacuum tube, measuring radioactive decay from a radioactive source, and sampling a stable high-frequency oscillator with an unstable low-frequency clock, to mention only a few proposals.
Several applications of chaos in cryptography have been proposed. These applications usher in the era of scientific chaos-based cryptography, which will trigger more research and real-world applications of chaos-based data protection.
For example, in European Patent Application No. 01130846.7 filed on Dec. 21, 2001, entitled “Chaos-based block encryption”, a method for generating truly random numbers has been designed and implemented in CMOS technology. Random numbers are crucial importance in every encryption and data protection application. Block encryption algorithm based on chaotic maps are proposed in European Patent Application No. 01130846.7 filed on Dec. 27, 2001, entitled “Chaos-based data protection using time-discrete dynamical systems”. Lower bounds of number of active S-boxes as well as the upper bounds for differential and linear probabilities in the proposed algorithm have been derived analytically, and therefore, the resistance of this algorithm to differential and linear attacks has been proved. European Patent Application No. 02425689.3 filed on Nov. 12, 2002, entitled “Method of generating a chaos-based pseudo-random sequence and a hardware generator of chaos-based pseudo random bit sequences” has presented a class of pseudo-random-bit generators, for which security does not rely on a number-theoretical problem, and therefore, does not use modular multiplications. In contrast, its security relies on the large numbers of branches for an inverse of a function used in the algorithm. The generators use only binary operations and have been efficiently implemented in software.
The article “Communication Theory of Secrecy Systems” by C. E. Shannon, published in 1949, ushered in the era of scientific secret-key cryptography. However, Shannon's article did not lead to an explosion of researches on cryptography comparable to that triggered by his earlier articles published in 1948 in information theory. The real explosion of works on cryptography came with an article entitled “New directions in cryptography” by W. Diffie and M. E. Hellman. Diffie and Hellman showed for the first time that a secret communication was possible without any transfer of a secret key between sender and recipient, thus starting the era of public-key cryptography. Moreover, they suggested that computational complexity theory could be used for future research in cryptography.
Substantially, an encryption process is a process for transmitting data in a mode that ensures that the data remain private, by converting a message, referred to as a plain-text, into an encrypted format, referred to as a cipher-text. A sender encrypts the message by using an encryption key, while the recipient of the message recovers the plain-text from the received cipher-text by using a decryption key. Public-key encryption algorithms, also called asymmetric algorithms, are designed so that (i) the encryption key is different from the decryption key; (ii) the encryption key can be made public; and (iii) the decryption key cannot, at least in a reasonable amount of time, be calculated from the encryption key. There are many public-key algorithms. Only a few of them are both secure and practical, and only three of them work well for both encryption and digital signature. In a public-key encryption system, each entity A has a public key “e” and a corresponding private key “d”. In secure systems, the task of calculating the private key “d” from the public key “e” is practically impossible.
The public key defines an encryption transformation Ee, while the private key defines the associated decryption transformation Dd. A sender B wishing to send a message (plaintext) M to a recipient A must obtain an authentic copy of the recipient public key “e”, use the encryption transformation to obtain the ciphertext c=Ee(M), and transmit the encrypted message “c” to the recipient A. The recipient A decrypts the ciphertext “c” using the decryption transformation and obtains the plain-text M=Dd(C).
Since 1976, numerous public-key algorithms have been proposed. Three most widely used public-key encryption processes are RSA, Rabin and ElGamal. The security of the ElGamal public-key encryption process is based on the intractability of the discrete-logarithm-problem. The security of the RSA process is based on the intractability of the integer factorization problem. Currently, for a secure RSA process to be executed a 1024-bit key has to be utilized. In the Rabin public-key encryption process, the problem faced by a passive adversary is computationally equivalent to factorizing a number. However, factorization has been an extensive field of research, and in May 2007 a 1024-bit number has been factorized. Thus, raising doubts on cryptosystems that depend on the difficulty of factorizing a 1024-bit key.